Enhanced network load balancing technique for efficient performance in software defined network

Hash collisions and redirection of loads are major limitations for recent Hash IP algorithms. To overcome this, we propose a new Hash IP algorithm dubbed HDW in network load balancing (NLB) to increase network’s efficiency, availability and scalability. We achieve the new Hash IP load balancing algorithm via a constructive merger with weighted scheduler (WS) technique and dynamic switching of routing path (DSP). This helps to reduce delays, jitters and additionally assures some level of security owing to the hashing process. Our findings after comprehensive simulations and performance evaluation depicts that our proposed HDW algorithm is relatively efficient as against other related load balancing algorithms for software defined network.


Introduction
Software defined network aids network operators to control the whole network constantly and holistically, irrespective of the kind of network infrastructure. Through the implementation of SDN, network programmability is improved and network nodes are distantly controlled from a centralized point. Software defined networking is assembled based on three (3) key theories which include: Programmed Networking [1], Centralization Network, Data and Control planes separation [2]. SDN works within a structured architectural build up. The architecture of SDN is divided into three (3) planes namely; Application Plane, Control Plane, and Data Plane. However, SDN faces some challenges during operation [3]. Due to the centralized nature of SDN architecture, there is traffic congestions affecting the availability and performance of the network [4]. The control plane of SDN has a lesser ability of scaling and allowing numerous request causing bottle necks on the network [5]. Although SDN has a denial-bydefault security property to disallow and reject unauthorized users but a strong encryption key needs to be predefined to protect the actual data sent across the network [6]. Network load balancing is the implemented networking method deployed to distribute several client requests to resources through multiple servers. An efficient network performance was achieved [7] through a high-density SDN using load balancing. In [8] there was an efficient switch migration between multiple controllers of SDN deploying network load balance. For scalability, availability, and outmost performance (QoS) of an SDN, there is the need to deploy a Network Load Balancing technique (NLB) [9]. In this regard, we propose a new NLB technique which is a merger of a Hash IP load balancing algorithm with a Weighted scheduler (WS) and Dynamic switching of routing path (DSP).
The remainder of this paper is structured as follows: Section 2 details the literature review of load balancing in SDN. Section 3 explains the efficiency of each technique proposed in the HDW algorithm to be measured and tested. Section 4 of this paper shows the performance evaluation and comparison between other works after implementation of HDW algorithm. Section 5 draws the conclusions and recommendations for future work.

Related works
SDN has been an area of growing interest in networking, with the potential of replacing legacy networks. There is much pressure and concern from industries to solve the basic challenges encountered by Software Define Network. There are many amazing surveys in SDN with Load Balancing, most of these surveys are carried out based on different perspectives [10]. For instance, M. R. Belgaum et al. [11] reviewed more than 20 pieces of literature on Load Balancing in SDN specifically in the sector of data centers, Gives no view of LB in SDN with a real or virtual network setup. A systematic approach for analyzing the algorithms and techniques of Load Balancing utilized by researchers were classified into traditional and artificial intelligence LB methods to solve the challenges in SDN. The various methodologies proposed could not standardize or resolve the challenges of SDN like throughput, overheads, congestion, etc. Hamed et al. [12] proposed a load balancing algorithm responsible for directing requests from clients to several servers. The LB algorithm enables the immediate request to be allocated to the least-loaded server on the network efficiently. The proposed least-loaded algorithm was evaluated by comparing the round-robin algorithm and the random algorithm. This algorithm proved to be effective as the throughput of the network improved, there was also a reduction in delays over the network. This paper did not consider the quality of services (QoS) metrics like congestions, response times, and bandwidth allocation. Robin Losch et al. [13] implemented a load balance strategy in a Distributed Hash Table to achieve a fair queue and optimal distribution resources. The actual size of packets (weight) to be allocated and execute was a great challenge. Weighted load balance with virtual and binary node algorithms was proposed to improve load scheduling, reduction of overheads and congestion. Due to multiple hashing, there are complexities in the algorithm and this affects the throughput and the performance of the network. Kaur et al. [14] proposed a Round-robin load balancing algorithm, which works with the first come first served approach. This algorithm provides a Uniform load distribution technique for every node on the network. The uniform distribution creates Static networks with rigid routing rules. Again there is massive delays over the network as a result of the nondynamic nature of the Round Rubin algorithm. This affects the general performance, scalability and throughput of the network. Ramhani et al. [15] also introduced an efficient load balancing technique for routing on the network. Implementation of Multipath routing algorithm was deployed to create many routing paths for rerouting of loads. MRLB algorithm is very cost efficient. There is an effective resource allocation with better path decisions. There was no packet loss as a result of continuous rerouting of multiple loads on the network. This algorithm proves to be successful but there are a lot overheads and congestion which affects the performance of the network. Vyakaranal et al. [16] used a Weighted round-robin load balancing algorithm for their research work. The WRR algorithm gave an improved load scheduling mechanism. There was an efficient response time with maximum throughput. There is no starvation as every request is allocated to right server when More over this algorithm comes with complexities in re-routing. Wang et al. [17] developed a cross-domain load balancing mechanism for software defined networks in cloud data center. CDLB utilizes a dynamic technique for routing that improves the communication synchronization nodes on the network. Much emphasis was placed on how to manage the security and threats issues encountered on the network. Yilmaz et al. [18] proposed server load balancing technique to be used in software defined network for video streaming. Although this algorithm reduces delays and congestion, there are a lot of overheads on server with multiple loss of requests. The issues of overheads, delays, bottle necks and congestion of network requests and resources were challenges that was continuously encountered on the network by various researchers hence the deployment of the new Hash IP load balancing algorithm merged with the Weighted scheduler technique and Dynamic switching of routing path (HDW). The weighted scheduler allocates appropriate load of request to the right server to avoid overhead and to reduce delays and congestion on the network. Dynamic switching path functionality of the proposed HDW algorithm dynamically reroutes request to improve scalability to avoid bottle necks on the network. In the end, the proposed technique in this paper overcomes Hash Collisions and redirection of load limitations encountered in old Hash IP algorithms.

The efficient NLB technique
Here, we develop the efficient NLB technique by merging the improved Hash IP algorithm with a Weighted scheduler and Dynamic switching of routing path (HDW algorithm). To improve security and network reliability, hash algorithm implements cryptographic function to hash data into unique key [19]. This helps to allocate resources to the right sever to prevent redirection and redundancy on the network [20].

The improved hash IP algorithm
The new Hash IP algorithm avoids the large table lookups of flows in Dynamic and Static algorithms. This network load balancing algorithm generates a unique hash key by combining the destination IP address and the source IP address of both client and server [21]. Unlike previous Hash IP algorithms, the new Hash IP algorithm adds the calculated weight of packets to form unique hash key to avoid Hash collisions which were major setbacks for previous Hash IP algorithms. The new formed hash key is used to allocate the client to a server. For variable range of bit length, secure hash algorithm is deployed by the network load balance for hashing. The cryptographic functions implement modular additions, compression formulas, and bitwise operations in the computation to transfer the data into hash values as shown in Fig 1. Incoming host IP addresses comes with IP header fields which provide basic information like the source IP, protocols, data, packet size, checksum etc. [22]. The size of packets is captured by the new Hash IP algorithm to calculate for the total weight of packets for the number of request queues on the network. The scheduling technique is adopted by Hash IP algorithm to enable appropriate request allocation on the network based on weight of packets.

Weighted scheduling technique
This technique helps to disseminate traffics to the right servers on the network based on their strength. The actual size of packets (weight) to be transferred on the network was very difficult to determine by most weight scheduling techniques [23]. This limitation has been overcome by our proposed new hash IP algorithm. The new hash IP algorithm calculates for the total weight of packets to help the weight scheduler technique to allocate the right weight to the right servers on the network. These two methods work to complement each other. The weight scheduling technique first directs traffic with huge weight to the strongest server followed by the medium sever and to least one. With every queue q i of an equal or different data packet size, there is an associate weight w i . Katevenis, Sidiropoulos, and Courcoubetis proposed the weight scheduling (WS) technique [24] which is represented by; For allocation of bandwidth, there is a consideration of the total weight and packet size of every incoming request. Having a mean m i of each queue q i , the bandwidth allocation is calculated by; For link allocation of every queue q i , their capacity is Therefore, weight is set as Description of symbols for the equations is found in Table 1. For every weight, there is a calculated bandwidth and a specified link path to transmit the particular request on the network to avoid collision and to improve the network performance. In Hash tables, we deployed the insert, search and remove methods for hashing. The implemented Pseudocode methods created a unique way to control the values in the algorithm [25]. The values are the calculated

Dynamic switching of routing path
We also proposed the best way of forwarding packets in the routing path of the software defined network. Implementation of conventional switches and programmed switches on the same network calls the efficient way to forward packets without leakages and breakages on the network [26]. Dynamic switching of a path (DSP) is the technique deployed which is resilient in nature for routing failures, conserves energy, and also extends the network's lifetime [27]. DSP implements Hybrid routing protocols. The Hybrid routing protocol overcomes the difficulties faced in both static and dynamic protocols. The Hybrid protocols uses; • Interior Gateway Routing Protocols (IGRP): Nodes with data were transmitted within the radius of the network. It utilized a maintained internal link state routing path and also implemented an enhanced IGRP for routing in autonomous systems.
• Exterior Gateway Routing Protocol (EGRP): Nodes with data were also transmitted outside the radius of the zone of the network. Erick Osborn, 2020) [28]. Hybrid routing protocol with the dynamic protocols actively sets every node with zones and operates whenever there are transmissions inside or outside the network routing zones [29]. EGRP are for routing outer nodes and IGRP are for routing the inner nodes. In Fig 4, OQ is a Peripheral node which deploys an enhanced IGRP, K-L is interior nodes which also deploys IGRP. H and I are outer zones of G; node G transmits data outside the radius of the network by implementing the routing protocol using Exterior gateway routing protocol. Node G used border gateway protocol in EGRP to route outside the radius of network when data cannot be found within or inside the zone of the network. Fig 2 shows the routing mechanisms of DSP.

Architectural module of HDW algorithm
An Architectural model of the HDW Algorithm displays the inter relationship between the merged techniques and how they operate to compliment and accommodate of each other on the network. In Fig 3, the number of requests is queued q 1 , q 2 , q 3 . . .q n to the allocated server and every queue has an associated weight w i (number of packets). If having three 3 servers on the SDN, server C will receive the higher loads of traffic which is followed by server B with medium loads of traffic and the least loads will be allocated to server A respectively. The dynamic links helps to dynamically switch routing path between servers to increase the efficiency of the network [30]. Floodlight controller provides the qualities to offload traffics on network as compared to other OpenFlow controllers which is evaluated during simulation.

Performance evaluation
The network is evaluated based on the Quality of Service (QoS) processes like availability, scalability and the total performance of network with IPERF (internet performance) and Wireshark networking tools on metrics of throughput, response time, bandwidth and Jitters. We propose a tree topology which consists of 2 servers, 3 core switches, 4 aggregated switches, and 8 hosts. Host one (h1) pings/sends 20 packets to each of the seven hosts to measure the highest data and time taken to complete tasks in both first and second scenarios. The first scenario was tested without the network load balance on an Ubuntu virtual machine, the Second scenario was also tested with a floodlight controller as the remote controller on the Floodlight virtual machine. Bandwidth for iperf with floodlight controller ranged higher with 9.56 Mbits/sec to 10.7 Mbits/sec as compared to the ubuntu iperf without any controller which ranges from 8.07 Mbits/sec to 9.00 Mbits/sec. The iperf without a controller is relatively lower as compared to the iperf with a floodlight controller. The network without a controller gave priority to only one host at a time which delays and slows down the network causing congestion and jitters over the network. The floodlight controller approximately spread requests to several hosts on the network. It balances and directs all requests to the right servers over the network. Table 2 Shows both the internet performance (IPERF) of the network with the floodlight controller and also the one without any controller. After testing with IPERF, the network with Floodlight controller happens to obtain higher results with 5bits/sec more bandwidths as compared to the IPERF test of the network without a controller. Table 3

Results comparison
In this section, we evaluate the performance of our proposed HDW algorithm by comparing it to three related works [3,13,16].  Table 4. Moreover, we set equal parameters for each case of the experimentation with respect to each algorithm under consideration. The performance metrics is based on quality of services like throughput, jitters, response time and security of the network. Our proposed HDW algorithm proved to be efficient as results obtained is relatively higher than the other compared algorithms. Vyakaranal et al.'s work [16] on distributed LB algorithm using WRR (DWRR), gave higher throughput with an improved network availability but it was not secured. Robin et al.'s work [13] on weighted load balance with binary node (WLB) algorithm was secured but it had lower resource availability  The proposed HDW algorithm provides maximum throughput to increase resource availability utilizing an efficient weight scheduling method. With the hash functionality, the HDW algorithm secures the network. Congestion is effectively controlled by implementing the dynamic switching of routing protocol.

Conclusion
In this work, we deduced a network load balancing technique for SDN via a merger of a Hash IP load balancing algorithm with a weighted scheduler and dynamic switching of routing path.  We found that in the simulation environment, the floodlight controller proved to be successful by showing the IP addresses for both source and destination, the scheduled links to direct traffics, and the total number of packets transmitted on the network. The proposed algorithm with floodlight controller gave higher results when throughput, response time and jitters were measured. It is a clear indication that utilizing dynamic network load balance with the new Hash IP algorithm merged with the weighted scheduling technique improves the scalability, availability, and performance of the Software defined network. SDN has several controllers and in the near future, more research can be carried on the dynamic network load balance with other algorithms by implementing different SDN controllers to determine their performance outcomes. Other topologies with different sizes can be deployed on the network load balance with the new Hash IP algorithm and Weighted scheduling method to evaluate the limitations within the algorithm.

PLOS ONE
Enhanced network load balancing technique